The embodiments described herein relate generally to operating computer programs and, more particularly, to tracking and modifying user interactions with computer programs.
Many known computer programs include an “undo” command that erases the last change made to a document. This command reverts the document to an older state. Similarly, many known computer programs a “redo” command that reverses a previous undo command by, for example, advancing a buffer of the document to a more current state.
However, when using the undo command, at least some known computer programs do not give the user adequate feedback about the exact command that has been undone. For example, when using at least some known computer programs, the document is restored to a previous state without providing a hint or an indication of what was actually changed. Such a limitation becomes especially problematic when using the undo command repeatedly.
At least some known computer programs have attempted to mitigate this problem using an undo/redo log that provides a partial list of actions that can be undone or redone. The user can select from the list an action to be undone and, in general, that action and all proceeding that action are reverted. However, even this approach provides too little feedback to the user, especially when the same or very similar actions are repeated.